import React, { Component } from 'react';
import {
    StyleSheet,
    Text,
    View,
    ToastAndroid
} from 'react-native';
/*
方式一：ES6定义一个组件
推荐
*/
export default class LifecycleComponent extends  Component{

        constructor(props){
            super(props);
            console.log('--constructor--');
            ToastAndroid.show("--constructor--",ToastAndroid.SHORT);
            this.state={
                count:0,
            }
        }
        componentWillMount(){
         //装载前
            console.log('--componentWillMount--');
            ToastAndroid.show("--componentWillMount--",ToastAndroid.SHORT);
        }
        componentDidMount(){
        //装载完成
            console.log('--componentDidMount--');
            ToastAndroid.show("--componentDidMount--",ToastAndroid.SHORT);
        }
        componentWillReceiveProps(nextProps){

            console.log('--componentWillReceiveProps--');
            ToastAndroid.show("--componentWillReceiveProps--",ToastAndroid.SHORT);
        }
        shouldComponentUpdate(nextProps,nextState){
            //组件是否要更新
            console.log('--shouldComponentUpdate--');
            ToastAndroid.show("--shouldComponentUpdate--",ToastAndroid.SHORT);
            return true;
        }
        componentWillUpdate(nextProps,nextState){
            //组件更新之前
            console.log('--componentWillUpdate--');
            ToastAndroid.show("--componentWillUpdate--",ToastAndroid.SHORT);
        }
        componentDidUpdate(prevProps,prevState){
            //组件更新之后
            console.log('--componentDidUpdate--');
            ToastAndroid.show("--componentDidUpdate--",ToastAndroid.SHORT);
        }
        componentWillUnmount(){
            //移除组件之前
            console.log('--componentWillUnmount--');
            ToastAndroid.show("--componentWillUnmount--",ToastAndroid.SHORT);
        }
  render(){
      console.log('--render--');
      ToastAndroid.show("--render--",ToastAndroid.SHORT);
      return <View>
          <Text style={{fontSize:20,color:'red'}}
                onPress={()=>{
              this.setState({
                  count:this.state.count+1,
              })
          }}>有本事你打我呀，Hello 啊啊</Text>
          <Text style={{fontSize:20}}>被打了{this.state.count}次</Text>
      </View>
  }
}


